/// 危险的gets函数, 可能发生数组越界, 从而覆盖了内存的其他区域(变量等)
#include<stdio.h>
int main(void)
{   
    char str1[4] = {0};
    char str2[4] = {0};    
    printf("Before input: str1 = \"%s\"\n", str1);
    printf("Before input: str2 = \"%s\"\n", str2);
    // 输入一个很长的字符串到str1, 注意观察str2的值被覆盖了
    gets(str1);
    //fgets(str1, 4, stdin);
    printf("After input: str1 = \"%s\"\n", str1);
    printf("After input: str2 = \"%s\"\n", str2);
    return 0;
}
// 例如输入内容是 This is a very long string!